package work.linruchang.util.bean;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.lang.reflect.Field;

/**
 * 列结构
 *
 * @author LinRuChang
 * @version 1.0
 * @date 2022/01/28
 * @since 1.8
 **/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class TableColumn implements Serializable {

    /**
     * 项目中对应的bean的属性
     */
    Field beanField;

    /**
     * 列名
     */
    String name;

    /**
     * 列类型 == 数据库中的类型名
     */
    String type;

    /**
     * 字段长度
     */
    Integer dataSize;

    /**
     * 小数部分位数
     */
    Integer digits;

    /**
     * 字段值是否支持空
     */
    boolean nullable;

    /**
     * 字段描述注释
     */
    String remarks;

}
